package com.example.start;

import com.example.proto3.PeopleInfo;
import com.google.protobuf.InvalidProtocolBufferException;

import java.lang.reflect.Array;
import java.util.Arrays;

public class FastStart {
    public static void main(String[] args) throws InvalidProtocolBufferException {
        // 创建对象
        PeopleInfo p1 = PeopleInfo.newBuilder()
                .setName("张三")
                .setAge(20)
                .build();
        // 序列化
        byte[] bytes = p1.toByteArray();
        System.out.println("序列化："+ Arrays.toString(bytes));
        // 反序列化
        PeopleInfo p2 = PeopleInfo.parseFrom(bytes);
        /*以为是序列化成二进制序列，所以p2.toString() 会打印二进制编码
          对于这样的二进制序列，也仅能使用protobuf的方法进行反序列化
        */
        System.out.println("反序列化："+p2.toString());
        System.out.println("名字："+p2.getName());
        System.out.println("年龄："+p2.getAge());
    }
}
